|
|
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите пожалуйста, как можно сделать следующее: выбирать из таблицы только те указанные столбцы, в которых хоть в одной строке есть какое-то значение? 1 2 3 4 5 x x x x x x x x x x x x x чтобы выбрались только 1 3 4 5 столбцы 1 3 4 5 x x x x x x x x x x x x x ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 13:26:35 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
1 2 3 4 5 x _ x x x x _ x x x x _ x _ _ x _ x x _ чтобы выбрались только 1 3 4 5 столбцы 1 3 4 5 x x x x x x x x x x _ _ x x x _ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 13:29:34 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
никак ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 13:38:36 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
ну почему никак, можно, только в хранимке ну и это будет через анус ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 13:42:48 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
вадя, ну да, сначала вытащим все поля из инфо_схема, потом выберем те, по которым мин/макс не нулл, потом соберём текст запроса только с ними, выполним и отдадим результат ... кто ж спорит, можно и так но я такого изврата советовать не хочу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 13:48:16 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
ShutTapЗдравствуйте. Подскажите пожалуйста, как можно сделать следующее: выбирать из таблицы только те указанные столбцы, в которых хоть в одной строке есть какое-то значение? Это проще паренной репы!! Вот тестовый пример: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 14:16:10 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
ShutTapЗдравствуйте. Подскажите пожалуйста, как можно сделать следующее: выбирать из таблицы только те указанные столбцы, в которых хоть в одной строке есть какое-то значение? 1 2 3 4 5 x x x x x x x x x x x x x чтобы выбрались только 1 3 4 5 столбцы 1 3 4 5 x x x x x x x x x x x x x вопрос зачем? вот проведем аналогию. строки - это порции данных, скажем записи в картотеке гаи марка - мерседес модель - ххх год -1999 кузов - 23123 .... ГБО(газ) - последнее дтп - ну тоесть не все поля заполнены. вот зачем делая в запрос гаи, говорить - дайте мне карточки машин зелёных 1998 года выпуска, только если какоето поле во всех машинах отсутсвует, разреште ножницами карточки на кусочки, и слепите обратно чтоб было уже без этого поля. тебе что мешает смотреть эти карточки и нету значения, ну значит нету. я практически даже не могу придумать задачу, чтобы для меня было важно поле1 - скажем на 1000 записей пустое, а 1001 заполненое а поле2 на все 1001 запись пустое. вот какая задача требует исключить это поле2 из выборки??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 14:17:50 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
что-то вроде: на витрине магазина разложены продукты и ценники к ним. Когда продукты заканчиваются, соответствующий ценник убирают. То есть, и полка пуста, и ценника нет, а не просто мы можем смотреть или не смотреть на пустую полку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 15:54:20 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
ShutTapчто-то вроде: на витрине магазина разложены продукты и ценники к ним. Когда продукты заканчиваются, соответствующий ценник убирают. То есть, и полка пуста, и ценника нет, а не просто мы можем смотреть или не смотреть на пустую полку... Пустую полку при этом выносят из магазина и прячут на складе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 16:00:20 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
образно говоря. полки без ценника - не существует :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 16:03:32 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
пускай не полка в магазине. пускай выставочный стенд. выставочный стенд - прячут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 16:04:11 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
ShutTapпускай не полка в магазине. пускай выставочный стенд. выставочный стенд - прячут плохая аналогия. моя точнее. есть база, есть процес получения данных из неё, потом представление данных. ЗЫ если сильно хочеться для запроса select a,b,c,d,e,... from table where <clause> узнать какие столбики всегда пустые делай предварительно запрос select sum(IF(a,1,0)) as 'not_empty_a',sum(IF(b,1,0)) as 'not_empty_b',... from table where <clause> и потом посмотриш - где сумма 0, там и тот столбик что надо исключить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 21:52:44 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
и чего только не сделаешь для человека....:) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2014, 21:54:33 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
Ничего себе... буду разбираться, спасибо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 08:08:21 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
ShutTapНичего себе... буду разбираться, спасибо... суть в том, что сначала отработает запрос(без переменных...то что с @) потом посути база начнёт выдавать данные и вот тут начнут работать переменные. вначале все они равны нулю @email := @email + IF(email<>"",1,0) - тоесть на каждой строчке, где мыло не пустая строка, переменная будет увеличиваться на еденицу, если пустая останеться прежней...если на всех записях будет путое мыло, то переменная так и останеться нулём. аналогично другие. переменная тотал введен уже для понта - подщитает общее число записей в результате. Код: plaintext 1. 2. 3. последняя строка - сканер гуид 0 раз не пустой мыло 2 раза не путое, страна 1 раз не нул, всего две строки в результате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 10:24:39 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, Мне кажется или вы просто эмулировали функцию COUNT(поле) ? И не совсем понял, чем поможет ТС этот запрос, если изначально он хотел запрос с переменным количеством полей в результате? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 10:35:38 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
miksoftalex564657498765453, Мне кажется или вы просто эмулировали функцию COUNT(поле) ? И не совсем понял, чем поможет ТС этот запрос, если изначально он хотел запрос с переменным количеством полей в результате? ну не совсем имитация. подщёт переменными, типо если не хочеться делать два запроса(первый мой вариант ТСу) чем поможет - ну ТС так упорно хотел знать какие столбцы лишние, что я понял, что его не прикалывает в выборке бежать по масиву и самому вычислять эти самые столбцы. он хочет чтобы именно база проделала эту работу. а вообще вцелом. мне когда идёя стукнула переменными посчитать какие столбцы пустые, ...видишь там разница во времени невилика в постах. Тыж не думаешь что я так быстро код написал.я ради своего спортивного интереса решил попробовать... получилось. не пропадать же добру, тем более что ТС очень просил чтобы база эту работу проделала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 18:47:00 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
alex564657498765453чем поможет - ну ТС так упорно хотел знать какие столбцы лишние, что я понял, что его не прикалывает в выборке бежать по масиву и самому вычислять эти самые столбцы. он хочет чтобы именно база проделала эту работу.Ну тогда можно попроще: Код: sql 1. 2. 3. 4. По тем полям, на которые есть индексы, отработает очень быстро. По тем полям, на которые индексов нет, отработает в зависимости от данных, но, скорее всего, быстрее полного перебора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 18:54:20 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
miksoftНу тогда можно попроще: Код: sql 1. 2. 3. 4. По тем полям, на которые есть индексы, отработает очень быстро. По тем полям, на которые индексов нет, отработает в зависимости от данных, но, скорее всего, быстрее полного перебора. вопрос не по основной теме, а конкретно из этого примера в чем разница между??: Код: sql 1. наверное второй по скорости сильно быстрее?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 19:04:19 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
Lumixвопрос не по основной теме, а конкретно из этого примера в чем разница между??: Код: sql 1. наверное второй по скорости сильно быстрее??Я уже не помню откуда у меня это повелось и даже не помню из какой СУБД. Был такой эффект, что фрагмент (select * ...) реально выбирал все поля, что резко снижало производительность. А константа (например, число 1) не используется, т.к. NULL требует чуть меньше памяти во внутренних структурах памяти. Хотя это вряд ли поддается измерению и, скорее всего, уже устарело, в голове остался шаблон писать именно так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 19:11:23 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
Lumix, Судя по http://dev.mysql.com/doc/refman/4.1/en/exists-and-not-exists-subqueries.html MySQL ignores the SELECT list in such a subquery, so it makes no difference.мой шаблон в голове все-таки имеет происхождение не из MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 19:17:40 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
miksoftLumix, Судя по http://dev.mysql.com/doc/refman/4.1/en/exists-and-not-exists-subqueries.html MySQL ignores the SELECT list in such a subquery, so it makes no difference.мой шаблон в голове все-таки имеет происхождение не из MySQL. благодарю за шикарное пояснение!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 19:36:56 |
|
||
|
Выбор только непустых столбцов.
|
|||
|---|---|---|---|
|
#18+
miksoftalex564657498765453чем поможет - ну ТС так упорно хотел знать какие столбцы лишние, что я понял, что его не прикалывает в выборке бежать по масиву и самому вычислять эти самые столбцы. он хочет чтобы именно база проделала эту работу.Ну тогда можно попроще: Код: sql 1. 2. 3. 4. По тем полям, на которые есть индексы, отработает очень быстро. По тем полям, на которые индексов нет, отработает в зависимости от данных, но, скорее всего, быстрее полного перебора. нет не проще. задача не стоит найти поля в таблице не задействованные. речь идёт о конкретной выборке из таблицы. вот для тех строк что мы выбираем, есть там столбик без данных или нету и переменные я взял, дабы не делать второго запроса. хотя для индексного поля возможно будет быстрее всётаки сделать вложеный запрос.... хотя помниться сдесь на форуме мы сталкивались с тиуацией похожей и ктото писал что exists(...) не совсем оптимально в мускле. иногда вместо того, чтоб остановиться на найден одном елементе, оно всётаки сделает полную выборку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 06:21:25 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38757096&tid=1834180]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 325ms |

| 0 / 0 |
