SELECT (SELECT count(frst) FROM frends WHERE frst = 2) as two, (SELECT count(frst) FROM frends WHERE frst = 8) as eight
Цитата: Re. від 2015-06-11 00:34:01Не воно. Потрібно щоб один запит вертав (в наведеому прикладі!) кількість вісімок і кількість двійок. Ну то нічого страшного можна зробти union. То буде якби то не один запит, але впринципы один. Тобто одне зваернення до бд.ось так:Код: [Вибрати]mysql> SELECT count(frst) FROM frends WHERE frst=2 union select count(frst) FROM frends WHERE frst=8;+-------------+| count(frst) |+-------------+| 1 || 1178095 |+-------------+2 rows in set (1.48 sec)mysql>Всерівно буде 2 запити. Краще group by:Код: [Вибрати]SELECT frst, count(1) FROM frends WHERE frst IN (2, 8) group by frst;
Не воно. Потрібно щоб один запит вертав (в наведеому прикладі!) кількість вісімок і кількість двійок. Ну то нічого страшного можна зробти union. То буде якби то не один запит, але впринципы один. Тобто одне зваернення до бд.ось так:Код: [Вибрати]mysql> SELECT count(frst) FROM frends WHERE frst=2 union select count(frst) FROM frends WHERE frst=8;+-------------+| count(frst) |+-------------+| 1 || 1178095 |+-------------+2 rows in set (1.48 sec)mysql>
mysql> SELECT count(frst) FROM frends WHERE frst=2 union select count(frst) FROM frends WHERE frst=8;+-------------+| count(frst) |+-------------+| 1 || 1178095 |+-------------+2 rows in set (1.48 sec)mysql>
SELECT frst, count(1) FROM frends WHERE frst IN (2, 8) group by frst;
Всерівно буде 2 запити. Краще group by:Код: [Вибрати]SELECT frst, count(1) FROM frends WHERE frst IN (2, 8) group by frst;
mysql> SELECT frst, count(*) FROM frends WHERE frst=2 || frst=8 group by frst;+------+----------+| frst | count(*) |+------+----------+| 2 | 1 || 8 | 1178095 |+------+----------+2 rows in setmysql>
Або ... Давно не писав на sql але, думаю, якось так.
ЦитатаЯк відслідкувати користувача що залогінився на сайт? Пояснюю детальніше: При вході на сайт в бд пишеться "користувач на сайті" - тобто встановлюється значення змінної в 1. При правильному виході (ПРИ НАТИСКАННІ ПОСИЛАННЯ ВИХІД) в бд пишеться 0 - користув не на сайті.Дуже просто. Додаэте поле LastActionTime. І вибираєте лише тих користувачів, в яких воно не раныше 1-5(чи скільки вважаєте потрібним)хв. При кожному запиті оновлюєте його.
Як відслідкувати користувача що залогінився на сайт? Пояснюю детальніше: При вході на сайт в бд пишеться "користувач на сайті" - тобто встановлюється значення змінної в 1. При правильному виході (ПРИ НАТИСКАННІ ПОСИЛАННЯ ВИХІД) в бд пишеться 0 - користув не на сайті.