✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Як за допомогою SQL створити список дописів, які отримали найбільшу кількість голосів за рік?

6

У цій публікації ми навчимося використовувати SQL для списку найпопулярніших публікацій (відповідно до кількості коментарів для кожної публікації). У цих публікаціях ми отримаємо базову статистику публікацій у 2016 році, а також дізнаємося 10 найкращих публікацій, відсортованих за результатами голосування.

Загальна кількість дописів

На основі цього SQL :

SELECT   count(1) FROM   wp_posts WHERE   post_type = "post" and   post_status = "publish" and   date_format(post_date_gmt, "%Y") = "2016"

Ми знаємо, що в 2016 році опубліковано 245 публікацій.

+----------+ | count(1) | +----------+ |      245 | +----------+ 1 row in set (0.01 sec)

Топ найбільш обговорюваних публікацій

І виходячи з SQL, у нас є найбільш обговорювані пости за цей рік, тобто 2016.

SELECT   post_name, post_title FROM   wp_posts WHERE   post_type = 'post' and   post_status = 'publish' and   date_format(post_date_gmt, "%Y") = '2016' ORDER BY  comment_count DESC LIMIT 10

Ми знаємо 10 найбільш обговорюваних (як найпопулярніших) дописів у 2016 році. Змініть ліміт 10, щоб дозволити відображати більше дописів, наприклад ліміт 20.

+--------------------------------------------------------------------------------+------------------------------------------------------------------------+ | post_name                                                                      | post_title                                                             | +--------------------------------------------------------------------------------+------------------------------------------------------------------------+ | cc-coding-exercise-convert-a-number-to-hexadecimal                             | C/C++ Coding Exercise - Convert a Number to Hexadecimal?               | | dynamic-programming-how-many-ways-to-connect-the-pipes                         | Dynamic Programming - How many ways to connect the pipes?              | | when-xx-evaluates-to-false-in-cc                                               | When x==x Evaluates to FALSE in C/C++?                                 | | how-to-compute-sum-of-two-integers-without-plus-and-minus-operators            | How to Compute Sum of Two Integers without Plus+ and Minus- Operators? | | how-to-find-intersection-of-two-arrays-in-c                                    | How to Find Intersection of Two Arrays in C++?                         | | bit-manipulation-how-to-set-all-bits-between-i-and-j-in-n-equal-to-m-cplusplus | Bit Manipulation: How to Set All Bits Between i and j in N equal to M? | | how-to-check-valid-anagram-in-cc                                               | How to Check Valid Anagram in C/C++?                                   | | c-coding-exercise-number-of-1-bits-revisited                                   | C++ Coding Exercise - Number of 1 Bits (Revisited)                     | | dynamic-programming-integer-break                                              | Dynamic Programming - Integer Break                                    | | cc-coding-exercise-find-the-duplicate-number                                   | C/C++ Coding Exercise - Find the Duplicate Number                      | +--------------------------------------------------------------------------------+------------------------------------------------------------------------+ 10 rows in set (0.01 sec)

Це (на момент написання):

  1. Вправа з програмування C/C++ – Перетворення числа на шістнадцяткове?
  2. Динамічне програмування – скільки способів з’єднати труби?
  3. Коли x==x має значення FALSE у C/C++?
  4. Як обчислити суму двох цілих чисел без операторів плюс+ і мінус?
  5. Як знайти перетин двох масивів у C++?
  6. Маніпуляція бітами: як встановити всі біти між i та j у N рівними M?
  7. Як перевірити дійсну анаграму в C/C++?
  8. Вправа з кодування на C++ – кількість біт 1 (повторно)
  9. Динамічне програмування – розбиття цілих чисел
  10. Вправа з програмування C/C++ – знайдіть повторюване число

Публікації з найбільшою кількістю голосів через SQL

Тепер ми можемо поєднати статистику голосування з плагіна GD Star Rating Plugin і отримати інший цікавий рейтинг.

Це дає наступні 10 найбільш голосованих публікацій року:

+------+----------------------------------------------------------------------------+-------------+---------------+------------+ | ID   | title                                                                      | total_votes | visitor_votes | user_votes | +------+----------------------------------------------------------------------------+-------------+---------------+------------+ | 4793 | When x==x Evaluates to FALSE in C/C++?                                     |       105.0 |          95.0 |       10.0 | | 4679 | How to Find the Maximum of Two Integers without Using Comparison Operator? |        81.0 |          81.0 |        0.0 | | 4191 | How to Delete a Node from a Binary Search Tree?                            |        68.0 |          58.0 |       10.0 | | 4380 | C++ Coding Exercise: How to Check if a Large Integer is divisible by 11?   |        67.0 |          57.0 |       10.0 | | 4329 | Microsoft Interview Question - Get the Area of the Triangle                |        66.0 |          66.0 |        0.0 | | 4740 | PPAP in C++ and Javascript for Beginner                                    |        62.0 |          52.0 |       10.0 | | 4166 | How to Invert a Binary Tree in C/C++?                                      |        48.0 |          48.0 |        0.0 | | 4176 | How to Reverse Bits for 32-bit Unsigned Integer in C/C++?                  |        46.0 |          46.0 |        0.0 | | 4178 | C++ Coding Exercise - How to Find First Missing Number?                    |        40.0 |          40.0 |        0.0 | | 4227 | Dynamic Programming - Integer Break                                        |        31.0 |          31.0 |        0.0 | +------+----------------------------------------------------------------------------+-------------+---------------+------------+ 10 rows in set (0.01 sec)
  1. Коли x==x має значення FALSE у C/C++?
  2. Як знайти максимум із двох цілих чисел без використання оператора порівняння?
  3. Як видалити вузол із бінарного дерева пошуку?
  4. Вправа з кодування C++: як перевірити, чи велике ціле число ділиться на 11?
  5. Запитання на співбесіді Microsoft – обчисліть площу трикутника
  6. PPAP у C++ і Javascript для початківців
  7. Як інвертувати бінарне дерево в C/C++?
  8. Як перевернути біти для 32-розрядного цілого числа без знаку в C/C++?
  9. Вправа з кодування C++ – як знайти перше пропущене число?
  10. Динамічне програмування – розбиття цілих чисел

Звичайно, ви можете змінити наведені вище обидва запити SQL так, щоб вони давали 12 публікацій, тобто одну найкращу для кожного місяця. Вам просто потрібно згрупувати за місяцями так:

GROUP BY date_format(`p`.post_date_gmt, "%M")

Крім того, ви можете створити PHP -сторінку, яка містить найновіші рейтингові таблиці для публікацій, але те, що тут показано, є статичним, тобто рейтингова таблиця створюється такою, якою вона є сьогодні.

SQL

Джерело запису: helloacm.com

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі