2017-11-14 16 views
2

私はこのスレッドにあったものを行うにしようと試み:SELECT COUNT messes with ORDER BY列選択、カウント(列)が、3列目の値によって順序が

しかし、私が(ASPのCSHTML内の溶液を使用するか、ドン」ことができないようです方法を知っている)。ここで

は、私が持っているコードは、私がやりたい何か今

var selectCommand3 = "SELECT Ident, COUNT(Ident) As Column1 FROM ToolDor_AppMagDor AS NumberOfOrders GROUP BY Ident"; 
var selectedData3 = db.Query(selectCommand3); 

あるDateCR、ORDER BYです。 3番目の列は、DateCR列の値が各Ident列の値と同じです。同じIdentを持つ10行がある場合と同様に、DateCRも同じです。

1 DateCRに複数の異なるのIdent値が存在する可能性があるため、私はちょうど代わりDateCRを選択することはできません...

私は、サブストリング索引をしようと試みたが、私はそれが動作させることができるように思えるいけません。

Basicaly私はこれを受け入れるようにシステムをしたいと思います(ただし、それは= Pしません):

var selectCommand3 = "SELECT Ident, COUNT(Ident) As Column1 FROM ToolDor_AppMagDor AS NumberOfOrders GROUP BY Ident ORDER By DateCR DESC"; 
var selectedData3 = db.Query(selectCommand3); 

がためにあなたの助けをありがとうとごめん私の英語

+0

することはできません 'ORDER BY'' DateCR'それはあなたの結果セットに存在しないため。あなたは 'COUNT()... OVER()...'と 'Ident'と' DateCR'を 'SELECTING 'して、必要なものを得ることができるかもしれません。あなたが作業しているデータの簡単な例をまとめることはできますか? – Shawn

+0

'SELECT Ident、DateCR、count(Ident)AS Column1 FROM ToolDor_AppMagDot GROUP BY Ident、DateCR ORDER BY DateCR DESC'を実行できますか?このクエリでは使用されていないため、ToolDor_AppMagDorテーブルのエイリアスを削除しました。 – Shawn

+0

Shawnさん、ありがとうございました.Gordonは答えましたが、2番目の質問に答えるために、DateCRに集計された関数などが含まれていないと言っていませんでした。 –

答えて

3

あなたは上の集計関数を必要とします列はORDER BYがの集計後にに処理されているためです。

これはおそらく、あなたが欲しいものを行います。

SELECT Ident, COUNT(Ident) As Column1 
FROM ToolDor_AppMagDor NumberOfOrders 
GROUP BY Ident 
ORDER By MAX(DateCR) DESC; 
+0

あなたは私のことをやっていますか? #?&!私は私の質問が下落される感覚を持っていますが、ありがとうございます。私は遠くに見ていた! –

関連する問題