使用JOIN上user_ID的兩個表,給的條件爲winningclip = 1,通過用戶ID應用組和終於下令基於user_ids的計數結果降序排列
查詢應該是這樣
SELECT
u.id, u.username, u.gender //select as many columns you want from users
FROM
users u
JOIN
film f ON (u.id = f.user_id)
WHERE
f.iswinningclip = 1
GROUP BY u.id
ORDER BY COUNT(u.id) DESC
完整的例子
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(45) NULL,
gender VARCHAR(45) NULL,
PRIMARY KEY (id));
CREATE TABLE film (
id INT NOT NULL AUTO_INCREMENT,
user_id INT NULL,
film_id INT NULL,
iswinningclip INT NULL,
PRIMARY KEY (id));
INSERT INTO users (username, gender) VALUES ('Kiran', 'M');
INSERT INTO users (username, gender) VALUES ('Liza', 'F');
INSERT INTO users (username, gender) VALUES ('Ajith', 'M');
INSERT INTO film (film_id, user_id, iswinningclip) VALUES ('1', '1', '1');
INSERT INTO film (film_id, user_id, iswinningclip) VALUES ('1', '2', '1');
INSERT INTO film (film_id, user_id, iswinningclip) VALUES ('2', '1', '0');
INSERT INTO film (film_id, user_id, iswinningclip) VALUES ('2', '2', '1');
INSERT INTO film (film_id, user_id, iswinningclip) VALUES ('3', '3', '1');
SELECT
u.id, u.username, u.gender
FROM
users u
JOIN
film f ON (u.id = f.user_id)
WHERE
f.iswinningclip = 1
GROUP BY u.id
ORDER BY COUNT(u.id) DESC
結果
你好。你能告訴我們這個兩張桌子的結構嗎? –
編輯您的問題以及誰抽樣數據和預期結果。 –
請參閱[什麼是Sqlfiddle,我爲什麼要關心?](http://stackoverflow.com/a/38899465)。加載它。顯示預期結果。幫助我們來幫助你:P ...如果該鏈接是太混亂了,去它 – Drew