|
|
|
Други подскажите плз. с запросом
|
|||
|---|---|---|---|
|
#18+
В кратце, есть таблица tbl с полями id,a,b,c,d нужно получить кол-во с групировкой по каждому полю, т.е select count(a) from tbl group by a, select count(b) from tbl group by b, select count(c) from tbl group by c, select count(d) from tbl group by d. Можно ли , а если можно то как об'еденить все в один запрос. Заранее благодарин ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2002, 09:51:06 |
|
||
|
Други подскажите плз. с запросом
|
|||
|---|---|---|---|
|
#18+
select (select count(a) from tbl group by a) as cntA, (select count(b) from tbl group by b) as cntB, (select count(c) from tbl group by c) as cntC, (select count(d) from tbl group by d) as cntD ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2002, 09:56:44 |
|
||
|
Други подскажите плз. с запросом
|
|||
|---|---|---|---|
|
#18+
>dmakar Не, так не прокатиткатить GROUP BY .. получается по нескольку строк в каждом подзапросе. Server: Msg 512, Level 16, State 1, Line 1 Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2002, 10:15:27 |
|
||
|
Други подскажите плз. с запросом
|
|||
|---|---|---|---|
|
#18+
select 'a', a, count(a) from tbl group by a union all select 'b', b, count(b) from tbl group by b union all select 'c', c, count(c) from tbl group by c union all select 'd', d, count(d) from tbl group by d ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2002, 10:31:52 |
|
||
|
Други подскажите плз. с запросом
|
|||
|---|---|---|---|
|
#18+
2 Doctor. Пример. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Внимание, вопрос. Покажите пожалуйста на примере данной таблицы, что именно должен вернуть "объединенный в один запрос" скрипт. Если это набор записей (грубо говоря, возвращаемая запросом таблица), то IMHO вопрос поставлен неконкретно. Если нужно узнать, СКОЛЬКО и КАКИХ значений содержится в столбце B, то делается запрос "select b, count(b) from tbl group by b", который вернет: Код: plaintext 1. 2. 3. Если сделать подобные запросы по каждому из столбцов, то для каждого из них вы получите количество разное количество строк и разный состав подсчитываемых значений (например, значение 10 имеется только в столбце C). Я могу попробовать нарисовать запрос, в котором значения всех столбцов валятся в единую кучу, но сначала хотелось бы узнать, нужно это или что-то другое: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2002, 11:48:01 |
|
||
|
Други подскажите плз. с запросом
|
|||
|---|---|---|---|
|
#18+
Garya нужно узнать, СКОЛЬКО и КАКИХ значений содержится в столбце A,B,C,D , сейчас делается "select .., count(..) from tbl group by ..", и так по каждому полю. Хотел сделать запрос "в котором все валится в одну кучу" в таком виде select a, count(a), b,count(b) ..... Таблица tbl есть довольно большого запрос, и хотел бы не обращаться к нему по каждому столбцу, а получить все сразу за оди раз. Насамом деле неуверен что так будет эффективней. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2002, 12:13:31 |
|
||
|
Други подскажите плз. с запросом
|
|||
|---|---|---|---|
|
#18+
Так не получится :( Если хощь анализировать - пиши хп которая будет из любой таблицы вытаскивать список полей и динамически формировать запрос с union вида select FieldName1, a, count(a) from tbl group by FieldName1 union all select FieldName2, b, count(b) from tbl group by FieldName2 union all select FieldName3, c, count(c) from tbl group by FieldName3 union all select FieldName4, d, count(d) from tbl group by FieldName4 и исполнять его... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2002, 12:52:58 |
|
||
|
Други подскажите плз. с запросом
|
|||
|---|---|---|---|
|
#18+
Доктор, на вопрос-то не ответил... :). Устраивает ли возвращаемый результат в том виде, в котором нарисована таблица (которая самая нижняя) в моем предыдущем постинге? Заодно сообщи, A, B, C и D - поля одного типа или разного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2002, 16:56:34 |
|
||
|
Други подскажите плз. с запросом
|
|||
|---|---|---|---|
|
#18+
Garya Устраивает, A,B,C,D поля одного типа INT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2002, 09:21:12 |
|
||
|
Други подскажите плз. с запросом
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. На самом деле все выкрутасы завязаны на возможность подсчитать, сколько значений Null в каждом столбце. Чтобы это было возможно, необходимо выбрать какое-нибудь ненуловое значение, которое само по себе в этих столбцах повстречать не ожидается. В качестве подобного значения в запросе указано -1. Можно выбрать другое. Если подсчитывать Null не требуется, все будет выглядеть гораздо проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2002, 11:33:06 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32049065&tid=1820466]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 345ms |

| 0 / 0 |
