✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Jak wyświetlić listę najczęściej głosowanych postów w ciągu roku za pomocą SQL?

9

W tym poście dowiemy się, jak używać SQL listy najpopularniejszych postów (według liczby komentarzy dla każdego posta). Z tych postów otrzymamy podstawowe statystyki postów w 2016 roku, a także poznamy 10 najlepszych postów posortowanych według głosów.

Całkowita liczba postów

Na podstawie tego SQL :

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

Wiemy, że w 2016 roku opublikowano 245 postów.

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

Najczęściej komentowane posty

I na podstawie SQL mamy najbardziej dyskutowane posty na ten rok, czyli 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

Znamy 10 najczęściej komentowanych (jako najbardziej popularnych) postów w 2016 r. Zmień limit 10, aby umożliwić wyświetlanie większej liczby postów, np. limit 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)

Są to (w momencie pisania):

  1. Ćwiczenie z kodowania C/C++ – Konwersja liczby na szesnastkową?
  2. Programowanie dynamiczne – Ile sposobów łączenia rur?
  3. Kiedy x==x zwraca wartość FALSE w C/C++?
  4. Jak obliczyć sumę dwóch liczb całkowitych bez operatorów plus+ i minus-?
  5. Jak znaleźć przecięcie dwóch tablic w C++?
  6. Manipulacja bitami: jak ustawić wszystkie bity między i i j w N równe M?
  7. Jak sprawdzić poprawny anagram w C/C++?
  8. Ćwiczenie z kodowania C++ – liczba 1 bitów (powtarzane)
  9. Programowanie dynamiczne – łamanie liczb całkowitych
  10. Ćwiczenie z kodowania C/C++ – Znajdź zduplikowany numer

Większość głosowanych postów za pośrednictwem SQL

Teraz możemy połączyć statystyki głosowania z wtyczki GD Star Rating Plugin i uzyskać kolejne ciekawe rankingi.

Daje to 10 najczęściej głosowanych postów w roku:

+------+----------------------------------------------------------------------------+-------------+---------------+------------+ | 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. Kiedy x==x zwraca wartość FALSE w C/C++?
  2. Jak znaleźć maksimum dwóch liczb całkowitych bez użycia operatora porównania?
  3. Jak usunąć węzeł z drzewa wyszukiwania binarnego?
  4. Zadanie z kodowania w C++: Jak sprawdzić, czy duża liczba całkowita jest podzielna przez 11?
  5. Pytanie do rozmowy kwalifikacyjnej Microsoft — Uzyskaj obszar trójkąta
  6. PPAP w C++ i JavaScript dla początkujących
  7. Jak odwrócić drzewo binarne w C/C++?
  8. Jak odwrócić bity dla 32-bitowej liczby całkowitej bez znaku w C/C++?
  9. Ćwiczenie z kodowania w C++ – jak znaleźć pierwszą brakującą liczbę?
  10. Programowanie dynamiczne – łamanie liczb całkowitych

Oczywiście możesz zmodyfikować oba powyższe zapytania SQL tak, aby dawały 12 postów, czyli jeden najlepszy na każdy miesiąc. Wystarczy pogrupować według miesiąca w ten sposób:

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

Możesz także utworzyć stronę PHP, która zawiera najbardziej aktualne tabele rankingowe dla postów, ale to, co zostało tutaj pokazane, jest statyczne, tj. tabela rankingowa jest generowana tak, jak jest dzisiaj.

SQL

Źródło nagrywania: helloacm.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów