 		// add the DISTINCT keyword if necessary (generally used for `COUNT` operations when associated tables are joined in the query, means we'll only count the unique primary keys on the current model)
 		if (arguments.distinct)
 		{
-			arguments.select = arguments.select & "DISTINCT ";
+			arguments.select &= "DISTINCT ";
 		}
 
 		// create a list of columns for the `SELECT` clause either from regular properties on the model or calculated ones

<cffunction name="count" returntype="numeric" access="public" output="false" hint="Returns the number of rows that match the arguments (or all rows if no arguments are passed in). Uses the SQL function `COUNT`. If no records can be found to perform the calculation on, `0` is returned."
	examples=
	'
		<!--- Count how many authors there are in the table --->
		<cfset authorCount = model("author").count()>

		<!--- Count how many authors that have a last name starting with an "A" --->
		<cfset authorOnACount = model("author").count(where="lastName LIKE ''A%''")>

		<!--- Count how many authors that have written books starting with an "A" --->
		<cfset authorWithBooksOnACount = model("author").count(include="books", where="booktitle LIKE ''A%''")>
		
		<!--- Count the number of comments on a specific post (a `hasMany` association from `post` to `comment` is required) --->
		<!--- The `commentCount` method will call `model("comment").count(where="postId=##post.id##")` internally --->
		<cfset aPost = model("post").findByKey(params.postId)>
		<cfset amount = aPost.commentCount()>
	'
	categories="model-class,statistics" chapters="column-statistics,associations" functions="average,hasMany,maximum,minimum,sum">
	<cfargument name="where" type="string" required="false" default="" hint="See documentation for @findAll.">

				loc.properties = ListAppend(loc.properties, variables.wheels.class.calculatedProperties[loc.item].sql);
			}
		}
		arguments.select &= loc.properties;

		// alias the result with `AS`, this means that Wheels will not try and change the string (which is why we have to add the table name above since it won't be done automatically)
		arguments.select &= ") AS wheelsqueryresult";

		// call `findAll` with `select`, `where`, `parameterize` and `include` but delete all other arguments
		StructDelete(arguments, "type");
		StructDelete(arguments, "property");
		StructDelete(arguments, "distinct");

		loc.rv = findAll(argumentCollection=arguments).wheelsqueryresult;
		if (!Len(loc.rv) && Len(arguments.ifNull))
		{
