1

同じ人の 2 つのテーブルからデータを取得する 2 つの select ステートメントがあります。結合を介してそれらを組み合わせることができることは知っていますが、構文をうまく機能させることができません。

クエリ 1:

SELECT SUBSTRING_INDEX(username,'@',1) AS username, 
COUNT(username) as count,
ROUND(
SUM(
CONVERT(SUBSTRING(contribution_score, -2), UNSIGNED INTEGER)  +
CONVERT(SUBSTRING(focused_score, -2), UNSIGNED INTEGER)  +
CONVERT(SUBSTRING(prepared_score, -2), UNSIGNED INTEGER) + 
CONVERT(SUBSTRING(work_score, -2), UNSIGNED INTEGER)  
)/COUNT(username)/76*100)
as average

FROM project_rubrics
GROUP BY username
LIMIT 0, 90

クエリ 2:

SELECT username,COUNT(username) as days FROM logon GROUP BY username

共通のリンクはユーザー名フィールドです。
各学生のユーザー名、日数、および平均を示す 1 つの結果セットが必要ですが、結合または結合選択が機能しません。

どんな助けでも大歓迎です。

4

1 に答える 1

0

サブクエリを実行できます。

SELECT SUBSTRING_INDEX(username,'@',1) AS username, 
COUNT(username) as count,
ROUND(
SUM(
CONVERT(SUBSTRING(contribution_score, -2), UNSIGNED INTEGER)  +
CONVERT(SUBSTRING(focused_score, -2), UNSIGNED INTEGER)  +
CONVERT(SUBSTRING(prepared_score, -2), UNSIGNED INTEGER) + 
CONVERT(SUBSTRING(work_score, -2), UNSIGNED INTEGER)  
)/COUNT(username)/76*100)
as average,

(SELECT COUNT(username) as days FROM logon WHERE logon.username=project_rubrics.username GROUP BY username) as username_count

FROM project_rubrics
GROUP BY username
LIMIT 0, 90
于 2013-03-26T21:00:15.217 に答える