1

各百行が同じIDを持つテーブルがあります(以下の短縮された例の「chart_id」を参照)。

同じ「chart_id」を持つすべての行を「チャート」と見なす場合、特定の年を含むすべてのチャートを mysql クエリで選択するにはどうすればよいですか。

たとえば、2009 を含むすべてのグラフ (chart2 と chart3) を選択するにはどうすればよいですか?

edit : 2009 を探す場合、ID が 4,5,6 および 7,8,9 の行を選択する必要があります。

id   chart_id  time
1    1         2008
2    1         2008
3    1         2008

4    2         2008
5    2         2008
6    2         2009

7    3         2009
8    3         2009
9    3         2009

10   4         2010
11   4         2010
12   4         2010

助言がありますか?

ありがとう :)

4

3 に答える 3

3

使用するだけDISTINCTです:

SELECT DISTINCT chart_id
FROM myTable
WHERE time = 2009

または、そのグラフSQL Fiddleのすべての行が必要ということですか?

SELECT *
FROM myTable t1
WHERE EXISTS(SELECT 1 
             FROM myTable t2 
             WHERE t2.chart_id = t1.chart_id AND t2.time = 2009)
于 2012-09-05T20:35:24.477 に答える
2

Seems like a SELECT DISTINCT chart_id WHERE year ... would work.

于 2012-09-05T20:33:53.100 に答える
1
SELECT DISTINCT chart_id FROM table_name WHERE time = 2009
于 2012-09-05T20:35:15.223 に答える