1. Schreiben Sie eine Funktion, um 1,2,3,4,5,6 zufällig in einem Array zu platzieren, und 5 und 6 dürfen nicht nebeneinander liegen.
function sort_test($array) { while(true) { shuffle($array); $temp = array_flip($array); if ($array[2] != 3 && 1 != abs($temp[5] - $temp[6])) { return $array; } } } $array = array(1,2,3,4,5,6); print_r(sort_test($array));
function get_target_letter($str) { $i = 0; $array = array(); while(isset($str[$i])) { $array[$str[$i]] = isset($array[$str[$i]]) ? $array[$str[$i]] + 1 : 1; $i ++; } foreach($array as $key=>$val) { if ($val == 1) { return $key; } } return false; } echo get_target_letter('asdfastflasdfopafdsa');
CREATE TABLE products ( product_id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, product_name VARCHAR(64) NOT NULL ); CREATE TABLE orders ( product_id INT UNSIGNED NOT NULL , create_at INT UNSIGNED NOT NULL, num INT UNSIGNED NOT NULL );
Bitte schreiben Sie eine SQL-Anweisung, um den Produktnamen und das Gesamtverkaufsvolumen während des Zeitraums t1-t2 abzufragen und sie entsprechend von hoch nach niedrig zu sortieren Gesamtumsatzvolumen.
Mein Ansatz:
SELECT products.product_name, number.num FROM ((SELECT product_id, sum(num) AS num FROM orders WHERE orders.create_at BETWEEN {$t1} AND {$t2} GROUP BY product_id) AS number) INNER JOIN products ON products.product_id = number.product_id ORDER BY number.num DESC;