0

テーブル全体からではなく最大日付を取得したいというシナリオがありますが、選択したIDからのみ取得できませんでした。

これが私のテーブルです

ここに画像の説明を入力

このクエリを実行して、選択した ID を取得します

SELECT * FROM `tbl_methodology` WHERE FIND_IN_SET(6, `col_select_corporate`)

そして私はその結果を得ました

ここに画像の説明を入力

その結果から、最大の日付を持つレコードを取得したい

そのクエリを試してみましたが、うまくいきません

SELECT * FROM `tbl_methodology` WHERE  id IN (1,5,7) AND `col_date` = (
    SELECT MAX(`col_date`)
    FROM `tbl_methodology`)

誰でも私を助けることができますか??

4

1 に答える 1

1

where 句を 2 回追加すると、期待どおりの結果が得られるはずです。

SELECT * FROM `tbl_methodology` WHERE  id IN (1,5,7) AND `col_date` = (
    SELECT MAX(`col_date`)
    FROM `tbl_methodology` WHERE  id IN (1,5,7))

そして私がコメントしたように:値をCSVとして保存するのは非常に悪いデータベース設計です

于 2016-07-27T09:59:01.573 に答える