列が同じ値を持つ最大 2 行を選択しようとしています。すなわち:
id title accountid date
1 job 1 1 Oct. 1
2 job 2 1 Oct. 1
3 job 3 1 Oct. 1
4 job 1 2 Oct. 2
5 job a 3 Oct. 2
6 job z 4 Oct. 3
7 job 2 2 Oct. 3
8 job 3 2 Oct. 8
選びたい
1 job 1 1 Oct. 1
2 job 2 1 Oct. 1
<----- Skip this row because we already
have 2 from account 1
4 job 1 2 Oct. 2
5 job a 3 Oct. 2
6 job z 4 Oct. 3
7 job 2 2 Oct. 3
私が現在選択するために使用しているのは、次のようなものです。
SELECT *
FROM table
ORDER BY date DESC, RAND()
私は使用を少し調べましたHAVING COUNT(accountid) <= 2
が、それは混乱につながりました。私はSQLの使用にかなり慣れていません。
ご協力いただきありがとうございます!
アップデート:
こんにちは、すべての迅速な対応に感謝します。私はそれらのそれぞれを試しましたが、それらを機能させることができなかったようです。PHPを使用して、アカウントIDごとにジョブを制限する方法を見つけました。この問題の解決にご協力いただき、ありがとうございます。