-2

SELECT簡単なステートメントを実行する方法を探しています。IDTITLEおよびの3 つの列を持つテーブルがあります。ACTIVEここで、ACTIVE列は値を表しbooleanます。

1. foo false
2. foo false
3. foo true
4. bar false
5. bar false
6. aaa false
7. ccc false
8. ccc true

私はそれが以下を返すことを望みます:

4. bar false
5. aaa false
4

2 に答える 2

0

私が正しく理解している場合false、値のみを持つ行を取得しているので、これが役立つはずです:

SELECT * 
FROM (
   SELECT  `ID` ,  `TITLE` ,  `ACTIVE` 
   FROM  `table_name` 
   GROUP BY  `TITLE`
) AS  `t` 
WHERE t.`ACTIVE` = 0

0また、ブール値の場合は、またはのいずれかが必要だと思います1

于 2013-05-14T14:35:31.677 に答える
0

これにより、ACTIVE 値が 1 つしかない TITLES (これが探しているものですよね?) と、この TITLE の MIN ID が表示されます。

SELECT MIN(ID) ID, TITLE, ACTIVE

FROM   YOURTABLE

GROUP BY TITLE

HAVING MIN(ACTIVE) = MAX(ACTIVE)
于 2013-05-14T14:21:29.057 に答える