PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.14.2
GiveWP – Donation Plugin and Fundraising Platform v4.14.2
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Framework / QueryBuilder / Concerns / Aggregate.php
give / src / Framework / QueryBuilder / Concerns Last commit date
Aggregate.php 9 months ago CRUD.php 1 year ago FromClause.php 4 years ago GroupByStatement.php 4 years ago HavingClause.php 3 years ago InsertInto.php 1 year ago JoinClause.php 4 years ago LimitStatement.php 4 years ago MetaQuery.php 3 years ago OffsetStatement.php 4 years ago OrderByStatement.php 1 year ago SelectStatement.php 4 years ago TablePrefix.php 4 years ago UnionOperator.php 4 years ago WhereClause.php 3 years ago
Aggregate.php
95 lines
1 <?php
2
3 namespace Give\Framework\QueryBuilder\Concerns;
4
5 use Give\Framework\QueryBuilder\Clauses\RawSQL;
6
7 /**
8 * @since 2.19.0
9 */
10 trait Aggregate
11 {
12 /**
13 * Returns the number of rows returned by a query
14 *
15 * @since 4.10.0 Return 0 when no result is null
16 * @since 2.19.0
17 * @param null|string $column
18 *
19 * @return int
20 */
21 public function count($column = null)
22 {
23 $column = (!$column || $column === '*') ? '1' : trim($column);
24
25 if (empty($this->selects)) {
26 $this->selects[] = new RawSQL('SELECT COUNT(%1s) AS count', $column);
27 } else {
28 $this->selects[] = new RawSQL('COUNT(%1s) AS count', $column);
29 }
30
31 $result = $this->get();
32 return is_null($result) ? 0 : +$result->count;
33 }
34
35 /**
36 * Returns the total sum in a set of values
37 *
38 * @since 2.19.0
39 * @param string $column
40 *
41 * @return int|float
42 */
43 public function sum($column)
44 {
45 $this->selects[] = new RawSQL('SELECT SUM(%1s) AS sum', $column);
46
47 return +$this->get()->sum;
48 }
49
50 /**
51 * Get the average value in a set of values
52 *
53 * @since 2.19.0
54 * @param string $column
55 *
56 * @return int|float
57 */
58 public function avg($column)
59 {
60 $this->selects[] = new RawSQL('SELECT AVG(%1s) AS avg', $column);
61
62 return +$this->get()->avg;
63 }
64
65 /**
66 * Returns the minimum value in a set of values
67 *
68 * @since 2.19.0
69 * @param string $column
70 *
71 * @return int|float
72 */
73 public function min($column)
74 {
75 $this->selects[] = new RawSQL('SELECT MIN(%1s) AS min', $column);
76
77 return +$this->get()->min;
78 }
79
80 /**
81 * Returns the maximum value in a set of values
82 *
83 * @since 2.19.0
84 * @param string $column
85 *
86 * @return int|float
87 */
88 public function max($column)
89 {
90 $this->selects[] = new RawSQL('SELECT MAX(%1s) AS max', $column);
91
92 return +$this->get()->max;
93 }
94 }
95