2012-03-04 5 views
-2

テーブルの行を選択して並べ替えたりグループ化したりする際に問題があります。シーケンシャルと完全なグループ化または並べ替えで選択する

私のテーブルの内容は次のとおりです。

+----------+-------------+--------+-------+---------------------+-------+ 
| es_pausa | es_reinicio | es_fin | quien | cuando    | orden | 
+----------+-------------+--------+-------+---------------------+-------+ 
|  0 |   0 |  0 |  1 | 2012-03-04 17:16:17 |  1 | 
|  1 |   0 |  0 |  1 | 2012-03-04 17:17:12 |  2 | 
|  0 |   1 |  0 |  1 | 2012-03-04 17:17:37 |  3 | 
|  1 |   0 |  0 |  1 | 2012-03-04 17:17:56 |  4 | 
|  0 |   1 |  0 |  1 | 2012-03-04 17:22:41 |  5 | 
|  1 |   0 |  0 |  1 | 2012-03-04 17:22:54 |  6 | 
|  0 |   1 |  0 |  1 | 2012-03-04 17:23:00 |  7 | 
|  0 |   0 |  0 |  1 | 2012-03-04 17:40:06 |  1 | 
|  1 |   0 |  0 |  1 | 2012-03-04 17:40:12 |  2 | 
|  0 |   1 |  0 |  1 | 2012-03-04 18:02:20 |  3 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:02:25 |  4 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:13 |  1 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:09:17 |  2 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:21 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:24 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:27 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:31 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:36 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:40 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:44 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:48 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:51 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:09:56 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:10:00 |  1 | 
|  0 |   0 |  0 |  1 | 2012-03-04 18:10:04 |  1 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:08 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:15 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:18 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:22 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:25 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:28 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:32 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:35 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:38 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:42 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:47 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:10:51 |  2 | 
|  0 |   0 |  1 |  1 | 2012-03-04 18:22:43 |  8 | 
+----------+-------------+--------+-------+---------------------+-------+ 

そして、私はグループに列で結果が欲しい:ordenを。

select es_reinicio, es_pausa, es_fin, cuando, quien from table_name group by orden; 

私は次のような結果を得るよ:私は、クエリ使用して選択し

あり

+-------------+----------+--------+---------------------+-------+ 
| es_reinicio | es_pausa | es_fin | cuando    | quien | 
+-------------+----------+--------+---------------------+-------+ 
|   0 |  0 |  0 | 2012-03-04 17:16:17 |  1 | 
|   0 |  1 |  0 | 2012-03-04 17:17:12 |  1 | 
|   1 |  0 |  0 | 2012-03-04 17:17:37 |  1 | 
|   0 |  1 |  0 | 2012-03-04 17:17:56 |  1 | 
|   1 |  0 |  0 | 2012-03-04 17:22:41 |  1 | 
|   0 |  1 |  0 | 2012-03-04 17:22:54 |  1 | 
|   1 |  0 |  0 | 2012-03-04 17:23:00 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:22:43 |  1 | 
+-------------+----------+--------+---------------------+-------+ 
8 rows in set (0.02 sec) 

(最後のコードブロックには)MySQLサーバだけであることを感知できるではありません1 2 3 4 5 6 7 の行を次のような順序で取ります:1 2 3 4 5 6 7 1 2 1 2 1 2 .. 。

あなたが言ったように照会するときに0

私の結果は(select es_reinicio, es_pausa, es_fin, cuando, quien, orden order by cuando)があります:

+-------------+----------+--------+---------------------+-------+-------+ 
| es_reinicio | es_pausa | es_fin | cuando    | quien | orden | 
+-------------+----------+--------+---------------------+-------+-------+ 
|   0 |  0 |  0 | 2012-03-04 17:16:17 |  1 |  1 | 
|   0 |  1 |  0 | 2012-03-04 17:17:12 |  1 |  2 | 
|   1 |  0 |  0 | 2012-03-04 17:17:37 |  1 |  3 | 
|   0 |  1 |  0 | 2012-03-04 17:17:56 |  1 |  4 | 
|   1 |  0 |  0 | 2012-03-04 17:22:41 |  1 |  5 | 
|   0 |  1 |  0 | 2012-03-04 17:22:54 |  1 |  6 | 
|   1 |  0 |  0 | 2012-03-04 17:23:00 |  1 |  7 | 
|   0 |  0 |  0 | 2012-03-04 17:40:06 |  1 |  1 | 
|   0 |  1 |  0 | 2012-03-04 17:40:12 |  1 |  2 | 
|   1 |  0 |  0 | 2012-03-04 18:02:20 |  1 |  3 | 
|   0 |  0 |  1 | 2012-03-04 18:02:25 |  1 |  4 | 
|   0 |  0 |  0 | 2012-03-04 18:09:13 |  1 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:09:17 |  1 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:09:21 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:09:24 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:09:27 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:09:31 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:09:36 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:09:40 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:09:44 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:09:48 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:09:51 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:09:56 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:10:00 |  1 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:10:04 |  1 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:08 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:15 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:18 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:22 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:25 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:28 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:32 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:35 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:38 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:42 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:47 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:10:51 |  1 |  2 | 
|   0 |  0 |  1 | 2012-03-04 18:22:43 |  1 |  8 | 
+-------------+----------+--------+---------------------+-------+-------+ 
38 rows in set (0.00 sec) 

あなたが見ることができるように、フィールドordenは、シーケンスを次のようされていません。シーケンス1 2 3後1 2 1 2 1 2 4 5 6 7 1 2 3 4 1 2.しかし、あなたは私を驚かせました:D。これは注文されていないため、

select es_reinicio, es_pausa, es_fin, cuando, quien, que, orden order by que 

:私は、それが不完全なクエリの結果であり得ると思います

+-------------+----------+--------+---------------------+-------+-----+-------+ 
| es_reinicio | es_pausa | es_fin | cuando    | quien | que | orden | 
+-------------+----------+--------+---------------------+-------+-----+-------+ 
|   0 |  0 |  0 | 2012-03-04 17:16:17 |  1 | 1 |  1 | 
|   0 |  1 |  0 | 2012-03-04 17:17:12 |  1 | 1 |  2 | 
|   1 |  0 |  0 | 2012-03-04 17:17:37 |  1 | 1 |  3 | 
|   0 |  1 |  0 | 2012-03-04 17:17:56 |  1 | 1 |  4 | 
|   1 |  0 |  0 | 2012-03-04 17:22:41 |  1 | 1 |  5 | 
|   0 |  1 |  0 | 2012-03-04 17:22:54 |  1 | 1 |  6 | 
|   1 |  0 |  0 | 2012-03-04 17:23:00 |  1 | 1 |  7 | 
|   0 |  0 |  1 | 2012-03-04 18:22:43 |  1 | 1 |  8 | 
|   0 |  0 |  0 | 2012-03-04 17:40:06 |  1 | 2 |  1 | 
|   0 |  1 |  0 | 2012-03-04 17:40:12 |  1 | 2 |  2 | 
|   1 |  0 |  0 | 2012-03-04 18:02:20 |  1 | 2 |  3 | 
|   0 |  0 |  1 | 2012-03-04 18:02:25 |  1 | 2 |  4 | 
|   0 |  0 |  0 | 2012-03-04 18:09:13 |  1 | 3 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:09:17 |  1 | 3 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:09:21 |  1 | 4 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:08 |  1 | 4 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:09:24 |  1 | 5 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:47 |  1 | 5 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:09:27 |  1 | 6 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:15 |  1 | 6 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:09:31 |  1 | 7 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:51 |  1 | 7 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:09:36 |  1 | 8 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:18 |  1 | 8 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:09:40 |  1 | 9 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:22 |  1 | 9 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:09:44 |  1 | 10 |  1 | 
|   0 |  0 |  0 | 2012-03-04 18:09:48 |  1 | 11 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:42 |  1 | 11 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:09:51 |  1 | 12 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:25 |  1 | 12 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:09:56 |  1 | 13 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:32 |  1 | 13 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:10:00 |  1 | 14 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:38 |  1 | 14 |  2 | 
|   0 |  0 |  0 | 2012-03-04 18:10:04 |  1 | 15 |  1 | 
|   0 |  0 |  1 | 2012-03-04 18:10:35 |  1 | 15 |  2 | 
+-------------+----------+--------+---------------------+-------+-----+-------+ 
38 rows in set (0.00 sec) 

私はテーブルを取得したい方法の例は次のようになりますを命じましたフィールドordenを例にとります:1 2 3 4 5 6 7 8 1 2 1 2 1 2 1 2 ...(エントリの最後まで)。

これが役に立ちます。

+0

どのようにグループ化した結果を表示しますか?異なる行の値を一緒に取得するには、 'SUM'や' GROUP_CONCAT'などの集計関数を使用する必要があります。 –

+0

私はあなたがグループ化の概念を理解していないと思います。 –

答えて

0

GROUP BYを使用すると、グループ化された列と同じ値のすべての行が1行に縮小されます。代わりにORDER BYを使いたいと思う。

ORDER BY que, ordenをお試しください。 MySQLは最初にqueでレコードを順序付けし、同じque値を持つレコードはordenによって順序付けされます。

+0

はい、私は 'ORDER BY'を使いますが、MySqlのアルゴリズムは次の例のように次のようになります:1 1 1 1 2 2 2 2 3 3 3 ... 1 2 3 4 5 6 7 1 2 1 2 1 2 ...それは可能ですか?私は共通の 'SELECT'をして、コードで自分のアルゴリズムに従ってそれを注文しなければならないと思います。 – user1189104

+0

2列、最初に他の列、次にordenで注文しますか?それ以外の場合は、おそらくコードで記述する必要があります...それはちょうど1つの列を注文するにはちょっと変わった方法ですが、その結果は予測できないかもしれないことに留意してください。 –

+0

はい、私は列 'que'で注文したいですし、私は' orden'で順不同のグループ分けをしたいと思っています。私はそれがMySQLでサポートされていないと思うので、私はコードに書いています。多分それが誰かを助けるので、私は終了時にC#でコードを投稿します。 – user1189104

0

異なる列の順番を探しています。 ordenではありません。cuandoです。

select es_reinicio, es_pausa, es_fin, cuando, quien from table_name 
order by cuando 
+0

次の記事を読んでください。 – user1189104

+0

select * from trabajando order by que、id; – user1189104

関連する問題