кодесурса
«MYSQL

MySQL BIT_COUNT () функция

script1adsense2code
script1adsense3code

Функция BIT_COUNT ()

MySQL BIT_COUNT () возвращает количество битов, установленных в аргументе.

Синтаксис:

 BIT_COUNT (N)

Где N - целое число

Пример: функция MySQL BIT_COUNT ()

Следующая инструкция MySQL вернет количество битов для указанных чисел в аргументе.

Код:

SELECT BIT_COUNT(8),BIT_COUNT(24),BIT_COUNT(28),BIT_COUNT(255);

Пример вывода:

 mysql> SELECT BIT_COUNT (8), BIT_COUNT (24), BIT_COUNT (28), BIT_COUNT (255);
+ -------------- + --------------- + --------------- + - -------------- +
| BIT_COUNT (8) | BIT_COUNT (24) | BIT_COUNT (28) | BIT_COUNT (255) |
+ -------------- + --------------- + --------------- + - -------------- +
| 1 | 2 | 3 | 8 | 
+ -------------- + --------------- + --------------- + - -------------- +
1 ряд в наборе (0,01 с)

PHP скрипт

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>php mysql examples</title>
</head>
<body>
<?php
echo "<h2>PHP MySQL BIT_COUNT() example : </h2>";
echo "<table border='1' style='border-collapse: collapse;border-color: silver;'>";
echo "<tr style='font-weight: bold;'>";
echo "<td width='100' align='center'>BIT_COUNT(8)</td><td width='100' align='center'>BIT_COUNT(24)</td>
<td width='100' align='center'>BIT_COUNT(28)</td><td width='100' align='center'>BIT_COUNT(255)</td>"; echo "</tr>"; include("../dbopen.php"); $result = mysql_query("SELECT BIT_COUNT(8),BIT_COUNT(24),BIT_COUNT(28),BIT_COUNT(255)"); while($row=mysql_fetch_array($result)) { echo "<tr>"; echo "<td align='center' width='200'>" . $row["BIT_COUNT(8)"] . "</td>";
echo "<td align='center' width='200'>" . $row["BIT_COUNT(24)"] . "</td>"; echo "<td align='center' width='200'>" . $row["BIT_COUNT(28)"] . "</td>";
echo "<td align='center' width='200'>" . $row["BIT_COUNT(255)"] . "</td>"; echo "</tr>"; } echo "</table>"; ?> </body> </html>

Посмотреть пример в браузере

Пример - 2

Следующая инструкция MySQL вернет количество битов для указанных аргументов.

Код:

SELECT BIT_COUNT(b'1000'),BIT_COUNT(b'11000'),BIT_COUNT(b'11111111');

Пример вывода:

 mysql> SELECT BIT_COUNT (b'1000 '), BIT_COUNT (b'11000'), BIT_COUNT (b'11111111 ');
+ -------------------- + --------------------- + ------ ------------------ +
| BIT_COUNT (b'1000 ') | BIT_COUNT (b'11000 ') | BIT_COUNT (b'11111111 ') |
+ -------------------- + --------------------- + ------ ------------------ +
| 1 | 2 | 8 | 
+ -------------------- + --------------------- + ------ ------------------ +
1 ряд в наборе (0,00 сек)

Подсчитайте количество дней в месяце, когда пользователь посещал веб-страницу

В следующем примере мы использовали функции и операторы группы битов для вычисления количества дней в месяце, которые пользователь посещал веб-страницу. Пример таблицы содержит значения год-месяц-день, представляющие посещения пользователями страницы. Вот структура таблицы с некоторыми необработанными данными:

 mysql> CREATE TABLE table1 (год ГОД (4), месяц INT (2) НЕПРАВИЛЬНЫЙ ZEROFILL, день INT (2) НЕПИСАННЫЙ ZEROFILL);
Запрос в порядке, затронуто 0 строк (0,48 с)
mysql> INSERT table1 VALUES (2012, 1, 1), (2012, 1, 20), (2012, 1, 30), (2012, 2, 2), (2012, 2, 24), (2012, 2, 24);
Запрос в порядке, затронуто 6 строк (0,22 с)
mysql> SELECT * FROM table1;
+ ------ + ------- + ------ +
| год | месяц | день |
+ ------ + ------- + ------ +
| 2012 | 01 | 01 |
| 2012 | 01 | 20 |
| 2012 | 01 | 30 |
| 2012 | 02 | 02 |
| 2012 | 02 | 24 |
| 2012 | 02 | 24 |
+ ------ + ------- + ------ +
6 рядов в наборе (0,00 сек)

Используйте следующий запрос, чтобы определить, сколько разных дней в каждом месяце происходят эти посещения. Запрос вычисляет, сколько разных дней появляется в таблице для каждой комбинации год-месяц, с автоматическим удалением повторяющихся записей.

 mysql> ВЫБРАТЬ год, месяц, BIT_COUNT (BIT_OR (1 << день)) AS дней ОТ таблицы1 GROUP BY год, месяц;
+ ------ + ------- + ------ +
| год | месяц | дни |
+ ------ + ------- + ------ +
| 2012 | 01 | 3 |
| 2012 | 02 | 2 |
+ ------ + ------- + ------ +
2 ряда в наборе (0,03 сек)

Предыдущая: UNCOMPRESSED_LENGTH ()
Далее: BITWISE И

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code