1

説明順に並べた複数の行を選択したい。例として、キャンディ、アンパラ、アヌラーダプラの最後に追加された行を選択したいと思います。以下のリンクからデータベースのスクリーンショットをご覧ください。

a

私は試した:

SELECT thripstot, g_midgetot, l_foldertot 
FROM pest_data 
WHERE district = 'ampara' OR district = 'kandy' OR district = 'anuradhapura' 
order by id desc 
limit 0,1;

そしてそれは私が必要とした結果を提供しません。

4

1 に答える 1

5

私があなたを正しく理解していれば、あなたは条項districtで定義されたそれぞれの指定された最新のレコードを取得したいと思うでしょう。where

Auto_increment列として設定されている場合はdistrict、最大値を介してそれぞれの最新レコードを個別に取得するサブクエリを使用できます。選択した最新の行からすべての行を取得するには、とで一致する場合は、元のテーブルと結合する必要があります。IDdistrictID

SELECT  a.thripstot, a.g_midgetot, a.l_foldertot 
FROM    tableName a
        INNER JOIN
        (
            SELECT  district, MAX(id) max_id
            FROM    tableName
            GROUP   BY district
        ) b ON  a.district = b.district AND
                a.id = b.max_id
WHERE   a.district IN ('ampara','kandy', 'anuradhapura')
于 2013-03-24T08:34:53.063 に答える