0

過去 4 か月の月の tot(count) 値を個別に調べる必要があります。

テーブル構造は

CREATE TABLE `lime_survey_16579` ( 
`id` int(11) NOT NULL auto_increment, 
`submitdate` datetime default NULL, 
`lastpage` int(11) default NULL, 
`startlanguage` varchar(20) collate utf8_unicode_ci NOT NULL, 
`token` varchar(36) collate utf8_unicode_ci default NULL, 
`16579X10X31` varchar(5) collate utf8_unicode_ci default NULLPRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=480 ; 

ここで $survey =lime_survey_16579 および $temp= 16579X10X31 ここで 16579X10X31 は A1 A2 A3 のような値を持ちます..

次のような出力を与えるためにこれを行う方法

tot month 

2 july 
4 aug 
6 sep 
9 oct 

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

4

2 に答える 2

1

すべてのデータについて以下を試してください。

SELECT count(id) as tot, MONTHNAME(submitdate) as `month`
FROM lime_survey_16579
GROUP BY month(submitdate) 
ORDER BY month(submitdate)

データを過去 4 か月に制限するには、以下を試してください。

SELECT count(id) as tot, MONTHNAME(submitdate) as `month`
FROM lime_survey_16579
GROUP BY month(submitdate) 
ORDER BY month(submitdate) DESC
LIMIT 4
于 2012-10-22T03:37:03.280 に答える
0

前年のデータがある場合、Sel のソリューションは機能しません。おそらく、それらすべての合計ではなく、最新の「jul」レコードのみが必要です。

このために、次のことができます。

SELECT count(id) as tot, MONTHNAME(submitdate) as `month`
FROM lime_survey_16579
GROUP BY monthname(submitdate), year(submitdate)
ORDER BY min(submitdate) DESC
LIMIT 4

オプションで、SELECT 行に年を入れることもできます。

and句の を他の式に置き換えましたmonth(submitdate)これにより、非表示列と呼ばれる MySQL (ミス) 機能の使用が回避されます。この場合、句で言及されておらず、集計されていない列が句で許可されます。他の SQL エンジン (および標準) はこれを許可しません。group byorder bygroup byselect

于 2012-10-22T18:36:09.990 に答える