0

client_id と boolean の 2 つの列を持つテーブルがあるとします。

指定された client_id には複数のデータ エントリがあり、それぞれにブール値が true に設定されている場合とされていない場合があります。

ブール値がtrueに設定されたNO ROWSを持つclient_idのみを返すクエリが必要で、client_idでグループ化する必要があります。

これは単純だと確信しています。今は私を逃れるだけです。

4

1 に答える 1

1

次の句を使用してHAVING、グループをフィルタリングします。

SELECT client_id FROM my_table GROUP BY client_id HAVING SUM(boolean) = 0

SUM(boolean)真のブール型がないため、MySQL で機能することに注意してください。他の RDBMS では、別の集計関数を使用するか、ブール値をテストして、で使用できる結果を返す必要がありますSUM()

... HAVING SUM(CASE WHEN boolean THEN 1 END) = 0
于 2013-01-11T18:05:39.443 に答える