0

私は MYSQL にテーブルを持っています。他のフィールドの中で、月 (Varchar) と年 (int) の 2 つのフィールドがあります。Months フィールドは月の名前を格納するために使用され、year は入力されたデータの年を格納するために使用されます。whereクラスを使用して、最大の月と年のレコードのみを表示する方法について混乱しています。例えば

10 records are there for month January 2013
50 records are there for month February 2013
.
.
.
100 records are there for the month of November 2014 --- (LAST ENTRY)

ここで、2014 年 11 月のレコードのみを表示します。私のコードは、選択クエリを使用できないように記述されています。WHERE句を使用して実行する必要があります

4

3 に答える 3

1
SELECT *
FROM tablename
WHERE
  (year, month) = (SELECT year, month
                   FROM tablename
                   ORDER BY
                     STR_TO_DATE(CONCAT_WS(' ', '01', month, year), '%d %M %Y') DESC
                   LIMIT 1)
于 2013-10-25T09:48:23.250 に答える
0

これを試して

select Count(*),month,year from tablename 
group by STR_TO_DATE(CONCAT_WS(' ', '01', month, year), '%d %M %Y') order by
STR_TO_DATE(CONCAT_WS(' ', '01', month, year), '%d %M %Y')
于 2013-10-25T09:51:23.080 に答える